1. Field of the Invention
The present invention is generally directed toward testing data lines. More specifically, the present invention relates to generating and transferring a test pattern through the data lines to detect signal degradation.
2. Discussion of Related Art
Many electronic devices use data lines to transmit data from one device to another. Examples of data lines are those found in a data bus. A data bus is a cluster of data lines typically configured for transferring digital data in parallel between electronic devices, such as microprocessors. Other examples of data lines may include Printed Circuit Board (PCB) traces that interconnect electronic devices attached to the PCB. Larger systems that use these data lines often require that the data lines operate relatively error free to prevent data corruption between devices.
Data lines are susceptible to several types of noise that can severely degrade data being transferred. Many times, the data itself being transferred through the data lines produces some of this noise. For example, as data is transmitted over a plurality of data lines, the data can produce additive voltage reflections, particularly in unterminated data lines, such as those often found in Peripheral Component Interconnect (PCI) data buses or data lines with improperly matched impedances. An additive reflection is the reflection of voltage through a data line that adds to other data presently being transferred in that data line. An additive reflection corrupts the presently transferred data by adding positive or negative voltages to that of the data. The data being transferred can also cause inductive coupling between data lines if the data lines are either too close or unsheilded. The inductive coupling produces cross talk between data lines. Cross talk is data of one data line being transferred across other data lines and causes data corruption. Cross talk and additive voltage reflections can each degrade the quality of the data to the point of it being irrecoverable.
Test engineers develop systems for the detecting cross talk and voltage reflections. These systems employ means for simulating extraordinary data transfers. When simulating data transfers, engineers often try to achieve a “worst-case” scenario for the data transfers. For example, an engineer may transfer a series of test patterns through the data lines to produce a so-called worst-case amount of cross talk and reflection in the lines. These test patterns allow an engineer to determine how to reconfigure the data lines and minimize reflections and cross talk. However, the test patterns often produce inconsistent reflections and cross talk that overly task the engineer reconfiguring the data lines.
Some typical test patterns include “walking” a bit of information (i.e., a data bit or an element) through each of the data lines. Walking the data bit is defined as stepping a transfer of data having one voltage level (i.e., the data bit), or polarity, at different time intervals through each of the data lines while transferring data having a second voltage level, or opposite polarity, to any remaining data lines. For example, the data bit of one polarity is transferred to one data line during a first time interval while data bits of an opposite polarity are transferred to the remaining data lines. The data bit of one polarity is then transferred to another data line (e.g., “walked”) during the next time interval while the data bits of the opposite polarity are transferred all other remaining data lines. The bit is typically walked through each of the data lines and repeated until the source of the cross talk and/or the reflection can be determined. The data line carrying the bit that is walked is referred to as a victim data line while the other data lines are referred to as aggressor data lines.
The testing method of walking a bit produces inconsistent amounts of cross talk and reflections. This inconsistent cross talk and reflection reduces the effectiveness of isolating causes of such data degrading conditions. As a result, some cross talk and reflections in data lines may still occur and cause problems in a finished product. For example, a computer system employing a data bus that produces cross talk and reflections may experience intermittent data corruption during data transfers. Some occurrences of data corruption will cause catastrophic failures within the computer system and require the computer system to be restarted. Hence, there exists a need for improved systems that test data lines and produce consistent forms of data corruption, such as that caused by cross talk and additive reflections, so that the data corruption can be isolated and/or substantially removed.